An integrated circuit (IC) die is generally encased in a package to protect the die from external contaminants or physical damage. In an IC package, the die is typically mounted on a substrate and may be encapsulated in a molding compound. Signals from the die are routed to the package substrate and are subsequently transmitted through the substrate to external circuitry (e.g., a printed circuit board that the IC package is mounted on) via solder balls mounted on the bottom surface of the package substrate. As such, a package designer needs to create a package design for the package substrate in order to route signals from the IC die (e.g., microbumps on the IC die and bump pads on the top surface of the package substrate) through the package substrate, and subsequently to the solder balls at the bottom surface of the package substrate.
Generally, an IC die may be packaged in different package configurations and a single package configuration may be used with different IC dies. In one scenario, depending on the number of components needed (e.g., on-chip capacitors, etc.), or the number of pins required by the user, a bigger or smaller package may be used. For example, if the user requires more input-output pins, a bigger package may be required as a bigger package can accommodate a higher number of input-output pins. Multiple IC packages of different sizes (or types) may therefore be used with a single die. Alternatively, the same IC package configuration or package substrate may be used with different IC dies. As an example, different IC dies (e.g., devices of different sizes) in the same family may use the same package configuration.
Generally, a package designer needs to create a new package design for each different package configuration. For example, to package the same type of IC die in three different packaging configurations (e.g., three packages of different sizes), the package designer may need to create three distinct package designs. Similarly, if a different IC die (e.g., a bigger or smaller device in the same family) is used with the same package configuration, the package designer may need to recreate a package design for that particular IC die.
Package design is typically a manual process that involves multiple steps including, among others, layout planning, physical routing, and testing. As such, it may require considerable effort and cost to create a wholly new package design for each device within the same family of devices. Furthermore, as each package is individually designed and tested, there may be performance variations across different package configurations even when the same IC die is used.
It is within this context that the embodiments described herein arise.